/* 
 * File:   ContextException.h
 * Author: Gab'z
 *
 * Created on 2 juin 2012, 22:30
 */

#ifndef CONTEXTEXCEPTION_H
#define	CONTEXTEXCEPTION_H

#include <exception>
#include <string>

namespace calculator {

    /**
     * Classe d'exception pour la couche Model.
     * Exception lancée si le contexte se retrouve dans un état inconsistant.
     * @param e la cause de l'exception.
     */
    class ContextException : public std::exception {
        std::string info;
    public:

        ContextException(const std::string& i) : info("Erreur de context : " + i) {
        }

        virtual ~ContextException()throw () {
        }

        const char* what() const throw () {
            return info.c_str();
        }
    };

}

#endif	/* CONTEXTEXCEPTION_H */

